package com.clhbolg.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】业务对象 t_operation_log
 *
 * @author cailinhu
 * @date 2023-02-08
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class OperationLogBo extends BaseEntity {

    /**
     * 主键id
     */
    @NotNull(message = "主键id不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 操作模块
     */
    @NotBlank(message = "操作模块不能为空", groups = { AddGroup.class, EditGroup.class })
    private String optModule;

    /**
     * 操作类型
     */
    @NotBlank(message = "操作类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String optType;

    /**
     * 操作url
     */
    @NotBlank(message = "操作url不能为空", groups = { AddGroup.class, EditGroup.class })
    private String optUri;

    /**
     * 操作方法
     */
    @NotBlank(message = "操作方法不能为空", groups = { AddGroup.class, EditGroup.class })
    private String optMethod;

    /**
     * 操作描述
     */
    @NotBlank(message = "操作描述不能为空", groups = { AddGroup.class, EditGroup.class })
    private String optDesc;

    /**
     * 请求参数
     */
    @NotBlank(message = "请求参数不能为空", groups = { AddGroup.class, EditGroup.class })
    private String requestParam;

    /**
     * 请求方式
     */
    @NotBlank(message = "请求方式不能为空", groups = { AddGroup.class, EditGroup.class })
    private String requestMethod;

    /**
     * 返回数据
     */
    @NotBlank(message = "返回数据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String responseData;

    /**
     * 用户id
     */
    @NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long userId;

    /**
     * 用户昵称
     */
    @NotBlank(message = "用户昵称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nickname;

    /**
     * 操作ip
     */
    @NotBlank(message = "操作ip不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ipAddress;

    /**
     * 操作地址
     */
    @NotBlank(message = "操作地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ipSource;


}
